import { DbColumn } from './dbColumn'
import { DbForeignKey } from './dbForeignKey'
import { DbIndex } from './dbIndex'
import { DbPrimaryKey } from './dbPrimaryKey'

/**
 * Describe a table
 */
export interface DbTable {
	/**
	 * auto increment start
	 */
	autoIncrement?: number,

	/**
	 * The character set of the text column
	 */
	characterSet?: string,

	/**
	 * the collation of the text column
	 */
	collation?: string,

	/**
	 * The table columns
	 */
	columns: DbColumn[],

	/**
	 * The table comment
	 */
	comment?: string,

	/**
	 * DB Engin
	 */
	engine?: string,

	/**
	 * The table foreign keys
	 */
	foreignKeys: DbForeignKey[],

	/**
	 * The table indexes
	 */
	indexes: DbIndex[],

	/**
	 * The table name
	 */
	name: string,

	/**
	 * The table primary key
	 */
	primaryKey?: DbPrimaryKey
}
